package com.bbm.communitysystem.domain.dto;


import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;


/**
 * <p>
 * 
 * </p>
 *
 * @author bbm
 * @since 2025-02-13
 */
@Data
@Schema(description = "用户信息表")
public class UserInfoDto {

    @Schema(description = "用户唯一标识")
    private Integer id;

    /**
     * 用户昵称
     */
    @Schema(description = "用户昵称", example = "北京朝阳群众")
    private String userNick;

    /**
     * 凭据对应id
     */
    @Schema(description = "登录凭证ID", example = "10001")
    private Integer credId;

    /**
     * 1 是男 0是女
     */
    @Schema(description = "性别", allowableValues = {"0", "1"}, example = "1")
    private Integer userSex;

    /**
     * 用户头像
     */
    @Schema(description = "头像URL", example = "https://example.com/avatar.jpg")
    private String userImg;

    /**
     * 出生日期
     */
    @Schema(description = "生日（格式：yyyy-MM-dd）", example = "1990-01-15")
    private String userBirthDate;

    /**
     * 1启用 0 不启用
     */
    @Schema(description = "账号状态", allowableValues = {"0", "1"}, defaultValue = "1")
    private Integer status;

    /**
     * 是否是党员 1是 0否
     */
    @Schema(description = "政治面貌", allowableValues = {"0", "1"}, example = "1")
    private Integer isSun;

    /**
     * 隶属小区id
     */
    @Schema(description = "所属小区ID", example = "2001")
    private Integer communityId;

    /**
     * 用户邮箱
     */
    @Schema(description = "电子邮箱", example = "user@example.com")
    private String userEmail;

    /**
     * 角色id
     */
    @Schema(description = "角色ID集合（逗号分隔）", example = "1,3,5")
    private String userRoleId;

    /**
     * 上传者
     */
    @Schema(description = "最后更新人", example = "admin")
    private String updateBy;

    /**
     * 上传时间
     */
    @Schema(description = "更新时间（格式：yyyy-MM-dd HH:mm:ss）", example = "2024-03-15 14:30:00")
    private String updateTime;
}